package com.xmy.solution.service.impl;

import java.util.List;

import com.xmy.common.core.domain.entity.WeChatUser;
import com.xmy.common.core.domain.model.LoginUser;
import com.xmy.common.utils.DateUtils;
import com.xmy.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.xmy.solution.mapper.chatMapper;
import com.xmy.solution.domain.Chat;
import com.xmy.solution.service.IchatService;

/**
 * 聊天管理Service业务层处理
 * 
 * @author 夏明毅
 * @date 2025-02-20
 */
@Service
public class chatServiceImpl implements IchatService 
{
    @Autowired
    private chatMapper chatMapper;

    /**
     * 查询聊天管理
     * 
     * @param id 聊天管理主键
     * @return 聊天管理
     */
    @Override
    public Chat selectchatById(Long id)
    {
        return chatMapper.selectchatById(id);
    }

    /**
     * 查询聊天管理列表
     * 
     * @param chat 聊天管理
     * @return 聊天管理
     */
    @Override
    public List<Chat> selectchatList(Chat chat)
    {
        return chatMapper.selectchatList(chat);
    }

    /**
     * 新增聊天管理
     * 
     * @param chat 聊天管理
     * @return 结果
     */
    @Override
    public int insertchat(Chat chat)
    {
        chat.setCreateTime(DateUtils.getNowDate());
        LoginUser loginUser = SecurityUtils.getLoginUser();
        chat.setCreateBy(loginUser.getUsername());
        return chatMapper.insertchat(chat);
    }

    /**
     * 修改聊天管理
     * 
     * @param chat 聊天管理
     * @return 结果
     */
    @Override
    public int updatechat(Chat chat)
    {
        chat.setUpdateTime(DateUtils.getNowDate());
        return chatMapper.updatechat(chat);
    }

    /**
     * 批量删除聊天管理
     * 
     * @param ids 需要删除的聊天管理主键
     * @return 结果
     */
    @Override
    public int deletechatByIds(Long[] ids)
    {
        return chatMapper.deletechatByIds(ids);
    }

    /**
     * 删除聊天管理信息
     * 
     * @param id 聊天管理主键
     * @return 结果
     */
    @Override
    public int deletechatById(Long id)
    {
        return chatMapper.deletechatById(id);
    }

    @Override
    public int Appinsertchat(Chat chat) {
        LoginUser loginUser = SecurityUtils.getLoginUser();
        WeChatUser wechatUser = loginUser.getWechatUser();
        chat.setCreateTime(DateUtils.getNowDate());
        chat.setCreateBy(wechatUser.getNickname());
        return chatMapper.insertchat(chat);
    }
}
